{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "079e9af2-0fe5-4f7d-acc0-cddec93c4a67",
   "metadata": {},
   "source": [
    "Chapter 21\n",
    "\n",
    "# AIC和BIC\n",
    "Book_7《机器学习》 | 鸢尾花书：从加减乘除到机器学习"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "8c13049e-5977-4c42-9119-ea3645f807be",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import itertools\n",
    "\n",
    "from scipy import linalg\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib as mpl\n",
    "from sklearn import datasets\n",
    "from sklearn import mixture\n",
    "from sklearn.datasets import make_blobs\n",
    "import pandas as pd\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "2efe66ff-d682-4ca3-adb5-f7a8ce1ecd82",
   "metadata": {},
   "outputs": [],
   "source": [
    "n_samples = 500\n",
    "\n",
    "# generate random data\n",
    "centers = [(-5, -5), (0, 0), (5, 5)]\n",
    "X, y = make_blobs(n_samples=n_samples, centers=centers, shuffle=False,\n",
    "                  random_state=80)\n",
    "\n",
    "# iris = datasets.load_iris()\n",
    "# X = iris.data[:, [0,1]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "eae1fad6-67c3-4908-869e-daa947c7771a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "plt.scatter(X[:,0], X[:,1], marker='o');\n",
    "\n",
    "df_AIC_BIC = pd.DataFrame()\n",
    "n_components_range = range(1, 7)\n",
    "cv_types = ['spherical', 'tied', 'diag', 'full']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "e2958d65-a9ae-4fa1-9fed-daedf39f8565",
   "metadata": {},
   "outputs": [],
   "source": [
    "for cv_type in cv_types:\n",
    "\n",
    "    \n",
    "    for n_components in n_components_range:\n",
    "        \n",
    "        # Fit a Gaussian mixture with EM\n",
    "        gmm = mixture.GaussianMixture(n_components=n_components,\n",
    "                                      covariance_type=cv_type)\n",
    "        gmm.fit(X)\n",
    "        aic_i = gmm.aic(X);\n",
    "        bic_i = gmm.bic(X);\n",
    "        log_likelihood = gmm.score(X)\n",
    "        # reproduce AIC\n",
    "        # -2 * log_likelihood*n_samples + 2 * n_components\n",
    "        # reproduce BIC\n",
    "        # -2 * log_likelihood*n_samples + n_components * np.log(n_samples)\n",
    "        dic_i = pd.DataFrame({'Cov_type':      cv_type, \n",
    "                              'K_cluster': [n_components],\n",
    "                              'AIC':       [aic_i],\n",
    "                              'BIC':       [bic_i]})\n",
    "\n",
    "        df_AIC_BIC = pd.concat([df_AIC_BIC,dic_i])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "cc60648f-063e-4055-ab53-30f5409f38cb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHFCAYAAAAT5Oa6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAABBvElEQVR4nO3de3xMB/7/8ffkHhFDEAmCqLtEWWmJ7qJ1r0uVVi2rtOpStypqe93GVqt0qVurbapFUfWlbGkFbVHWPf2lTVFFXVci2iUR1SSS8/tDnZpmEiGRyeS8no/HPB5zzvmcM59zMjPezm1shmEYAgAAsDAPVzcAAADgagQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAKXa7NmzZbPZFBER4XS6zWbTqFGjco0/c+aMnn76aUVGRqps2bLy8/NT3bp19cQTT+jQoUO3um0AxczL1Q0AwK303nvvSZL27dunXbt2qUWLFtedZ/fu3erWrZsMw9CoUaMUHR0tHx8fHTx4UIsXL9add96pc+fO3erWARQjAhGAUmvv3r365ptv1LVrV3366aeaP3/+dQNRWlqa7rvvPvn5+Wn79u2qXr26Oa1t27YaNmyYVqxYcatbB1DMOGQGoNSaP3++JOnVV19Vq1attGzZMv3yyy/5zhMbG6vk5GRNmzbNIQxd64EHHijyXgG4FoEIQKl06dIlffjhh7rjjjsUERGhRx99VBcuXND//d//5Tvfhg0b5Onpqe7duxdTpwBKAgIRgFJpxYoVSk1N1eDBgyVJDz30kMqWLWvuNcrLiRMnVLlyZQUEBBRHmwBKCAIRgFJp/vz58vf3V9++fSVJZcuW1YMPPqitW7dylRiAXAhEAEqdw4cP66uvvlLXrl1lGIbOnz+v8+fPm+f+XL3yzJkaNWro7NmzunjxYnG1C6AEIBABKHXee+89GYahFStWqEKFCuaja9eukqSFCxcqOzvb6bydOnVSdna21qxZU5wtA3Axm2EYhqubAICikp2drRo1asjf31/vvvturulr167V9OnTtWbNGnXr1k02m00jR47U3LlzJUmpqalq0KCBvL29tWPHDlWrVi3XMj7++GP16tXrlq8LgOLDfYgAlCrr1q3T6dOnNXXqVLVt2zbX9IiICM2dO1fz589Xt27dck232+3697//rW7duqlZs2YON2Y8dOiQFi9erG+++YZABJQyBCIApcr8+fPl4+OjRx55xOn0SpUq6f7779eKFSt05swZpzV33nmnEhMT9frrr2v58uWaOnWqsrOzFRYWpnbt2pl7kwCUHhwyAwAAlsdJ1QAAwPIIRAAAwPIIRAAAwPIIRAAAwPIIRAAAwPIIRAAAwPK4D1EB5eTk6PTp0woMDJTNZnN1OwAAoAAMw9CFCxdUtWpVeXjkvR+IQFRAp0+fVlhYmKvbAAAAN+HkyZOqXr16ntMJRAUUGBgo6coGLVeunIu7AQAABZGWlqawsDDz3/G8EIgK6OphsnLlyhGIAABwM9c73YWTqgEAgOURiAAAgOURiAAAgOVxDhEAAL/Jzs5WVlaWq9vADfD29panp2ehl0MgAgBYnmEYSk5O1vnz513dCm5C+fLlFRISUqj7BBKIAACWdzUMBQcHq0yZMtyA100YhqFffvlFKSkpkqTQ0NCbXhaBCABgadnZ2WYYqlixoqvbwQ3y9/eXJKWkpCg4OPimD59xUjUAwNKunjNUpkwZF3eCm3X1b1eY878IRAAA6Po37kPJVRR/OwIRAACwPAIRAACwPAIRAADFKDk5WaNHj1bt2rXl6+ursLAwde/eXV988cUtf+3NmzfLZrNxewEnuMoMAIBicuzYMd11110qX768pk2bpiZNmigrK0vr16/XyJEj9f3337u6RctiDxEAAMVkxIgRstls2r17tx544AHVq1dPjRs31rhx47Rz505J0okTJ3TfffepbNmyKleunPr06aMzZ85Ikg4ePCibzZYrOM2YMUO1atWSYRh5vvaxY8d09913S5IqVKggm82mQYMGadGiRapYsaIyMjIc6nv37q2HH35YkhQTE6OmTZvq7bffVlhYmMqUKaMHH3ww156m999/Xw0bNpSfn58aNGigN998s1DbqzgRiAAAKAb/+9//FBcXp5EjRyogICDX9PLly8swDPXs2VP/+9//tGXLFm3cuFFHjhzRQw89JEmqX7++mjdvriVLljjMu3TpUvXr1y/fq63CwsK0cuVKSVeCVVJSkmbNmqUHH3xQ2dnZ+uSTT8zan376SWvXrtUjjzxijjt8+LCWL1+uNWvWKC4uTgkJCRo5cqQ5PTY2Vs8995xefvllHThwQK+88opeeOEFLVy48OY2WHEzUCCp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enq6Klas6FBz6dIlHTlyxByuWbNmnmFIkhISEuTp6ak2bdrkWfPWW2/p3Xff1fHjx3Xp0iVlZmaqadOmBdsQRYRABACAG/L09NTGjRu1fft2bdiwQXPmzNFzzz2nXbt25TufzWYzn//xSjCbzaacnBxJVw5lhYaGavPmzbmWUb58efN5QEBAvq/n7++f7/Tly5frySef1PTp0xUdHa3AwEC99tpr112PokYgAgDATdlsNt11112666679I9//EM1a9bUqlWrJEnffPONLl26ZAaSnTt3qmzZsqpevXqBlv2nP/1JycnJ8vLyUq1atW66x8jISOXk5GjLli3mIbNrbd26Va1atdKIESPMcdfugSouBKIiVBT3rCjsfSii3nqh0D3sHf5SoZcBALi1du3apS+++EIdO3ZUcHCwdu3apbNnz6phw4b69ttvlZmZqcGDB+v555/X8ePH9eKLL2rUqFHm+UPX0759e0VHR6tnz56aOnWq6tevr9OnT+uzzz5Tz549FRUVVaDl1KpVSwMHDtSjjz5qnlR9/PhxpaSkqE+fPqpTp44WLVqk9evXKzw8XB988IH27Nmj8PDwwmyeG8Zl9wAAuKFy5crpq6++0r333qt69erp+eef1/Tp09WlSxdJUrt27VS3bl21bt1affr0Uffu3XNdVp8fm82mzz77TK1bt9ajjz6qevXqqW/fvjp27JiqVKlyQ73OmzdPDzzwgEaMGKEGDRpoyJAhunjxoiRp+PDh6tWrlx566CG1aNFCP//8s8PeouJiM65en4d8paWlyW63KzU1VeXKlXNawx4iAHA/v/76q44eParw8HD5+fm5up0iMWjQIJ0/f16rV692dSvFIr+/YUH+/ZbYQwQAAEAgAgAA4KRqAABKmQULFri6BbfDHiIAAGB5BCIAAGB5BCIAAGB5BCIAAGB5BCIAAGB5BCIAAGB5BCIAAEqJzZs3y2az6fz584VaTq1atTRz5swi6cldcB8iAACcaDGueH/GaNeMG//ppbZt26pp06ZmeGnVqpWSkpJkt9uLuLvSj0AEAEAp4ePjo5CQEFe34ZY4ZAYAgBsaNGiQtmzZolmzZslms8lms2nBggW5Dplt375drVu3lr+/v8LCwjRmzBjzl+YlKSUlRd27d5e/v7/Cw8O1ZMkSF6yN6xGIAABwQ7NmzVJ0dLSGDBmipKQk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agoMDNTDDz+sn3/+WRcvXpQkHTx40LwA6ao/DpdWBCIAANyQYRg3VH/8+HHde++9ioiI0MqVKxUfH6833nhDkpSVlWUu84/36LvR13FXBCIAANxQnTp15O3trZ07d5rjzp07px9++MFp/d69e3X58mVNnz5dLVu2VL169XT69GmHmgYNGmj37t255rMCziECAMANlS1bVoMHD9ZTTz2lihUrqkqVKnruuefk4eF8X8dtt92my5cva86cOerevbv+85//6K233nKoGT16tFq3bq0ZM2aoe/fu+vLLL7Vu3bp8f9mhtCAQAQDgxK24UWJRe+2115Senq4ePXooMDBQ48ePV2pqqtPapk2basaMGZo6daqeeeYZtW7dWlOmTNHDDz9s1tx111166623NGnSJD3//PPq1KmTnnzySc2dO7e4VsllbIZVDg4WUlpamux2u1JTU/P8GY+u3V8s9Ot8umZSoeYvijurusOXAAAUlV9//VVHjx5VeHi4/Pz8XN1OiTNkyBB9//332rp1q6tbyVN+f8OC/PstsYcIAABc41//+pc6dOiggIAArVu3TgsXLjQvyy/NCEQAAMC0e/duTZs2TRcuXFDt2rU1e/ZsPfbYY65u65YjEAEAANPy5ctd3YJLcNk9AACwPAIRAACwPAIRAACwPAIRAACwPAIRAACwPAIRAACwPAIRAABuyjAMDR06VEFBQbLZbEpISLjuPDabTatXr5YkHTt2rMDzlXbchwgAACcmffVosb7ei63fu+F54uLitGDBAm3evFm1a9dWpUqVbkFn1kAgAgDATR05ckShoaFq1aqVq1txexwyAwDADQ0aNEijR4/WiRMnZLPZVKtWLdWqVUszZ850qGvatKliYmJc0qM7IRABAOCGZs2apX/+85+qXr26kpKStGfPHle35NY4ZAYAgBuy2+0KDAyUp6enQkJCXN2O22MPEQAAsDwCEQAApYSHh4cMw3AYl5WV5aJu3AuBCACAUqJy5cpKSkoyh9PS0nT06FEXduQ+CEQAAJQS99xzjz744ANt3bpV3333nQYOHChPT09Xt+UWOKkaAAAnbuZGia72zDPP6Mcff1S3bt1kt9v10ksvsYeogAhEAAC4qbFjx2rs2LHmcLly5fTRRx851AwcONBh+NpzjGrVqpXrnCOr4pAZAACwPAIRAACwPAIRAACwPAIR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+KBq1qypo0eP6oUXXtA999yj+Ph4+fr6Kjk5WT4+PqpQoYLDfFWqVFFycrIkKTk5WcHBwbmWHRwcbNY4M2XKFE2aNKkQawcAANyFywLRyZMn9cQTT2jDhg3y8/NzWvPQQw+ZzyMiIhQVFaWaNWvq008/Va9evfJctmEYstls5vC1z/Oq+aNnnnlG48aNM4fT0tIUFhaW7zqh5Cj0b8JJhf5duML+JpzE78IBQHFxWSCKj49XSkqKmjdvbo7Lzs7WV199pblz5yojI0Oenp4O84SGhqpmzZo6dOiQJCkkJESZmZk6d+6cw16ilJQUtWrVyqw5c+ZMrtc/e/asqlSpkmd/vr6+8vX1LdQ6AgAA9+Cyc4jatWunxMREJSQkmI+oqCj1799fCQkJucKQJP388886efKkQkNDJUnNmzeXt7e3Nm7caNYkJSXpu+++MwNRdHS0UlNTtXv3brNm165dSk1NNWsAAIC1uWwPUWBgoCIiIhzGBQQEqGLFioqIiFB6erpiYmLUu3dvhYaG6tixY3r22WdVqVIl3X///ZIku92uwYMHa/z48apYsaKCgoI0YcIERUZGmidpN2zYUJ07d9aQIUP09ttvS5KGDh2qbt26cYUZAACQVAIuu8+Lp6enEhMTtWjRIp0/f16hoaG6++679dFHHykwMNCse/311+Xl5aU+ffro0qVLateunRYsWOCwh2nJkiUaM2aMeTVajx49NHfu3GJfJwAAUDKVqEC0efNm87m/v7/Wr19/3Xn8/Pw0Z84czZkzJ8+aoKAgLV68uChaBAAApZDL70MEAADgagQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQiAABgeQQi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V7fidkJDQ3P9x6Zhw4Y6ceKEizoqGuwhAn5jGIZGjx6tVatWafPmzQoPD3d1S6WKYRjKyMhwdRtupV27drmuhHrkkUfUoEED/f3vf5enp6eLOnN/GRkZOnDggP7yl7+4uhW3c9ddd+W6JckPP/ygmjVruqijokEgKgXS09N1+PBhc/jo0aNKSEhQUFCQatSo4cLO3MvIkSO1dOlS/fvf/1ZgYKCSk5MlSXa7Xf7+/i7uzr08++yz6tKli8LCwnThwgUtW7ZMmzdvznUlH/IXGBiY6xy2gIAAVaxYkXPbbtCECRPUvXt31ahRQykpKZo8ebLS0tI0cOBAV7fmdp588km1atVKr7zyivr06aPdu3frnXfe0TvvvOPq1grHgNvbtGmTISnXY+DAga5uza0424aSjPfff9/VrbmdRx991KhZs6bh4+NjVK5c2WjXrp2xYcMGV7dVKrRp08Z44oknXN2G23nooYeM0NBQw9vb26hatarRq1cvY9++fa5uy22tWbPGiIiIMHx9fY0GDRoY77zzjqtbKjSbYRiGi7IYAABAicBJ1QAAwPIIRAAAwPIIRAAAwPIIRAAAwPIIRAAAwPIIRAAAwPIIRAAAwPIIRAAsw2azafXq1a5uA0AJRCACUKIMGjRIPXv2dBi3YsUK+fn5adq0aa5pyonNmzfLZrPp/Pnzrm4FQBEgEAEo0d599131799fc+fO1cSJE13dTpEzDEOXL192dRuA5RGIAJRY06ZN06hRo7R06VI99thjBZrnvffeU+PGjeXr66vQ0FCNGjXKaZ2zPTwJCQmy2Ww6duyYJOn48ePq3r27KlSooICAADVu3FifffaZjh07prvvvluSVKFCBdlsNg0aNEjSlYAzbdo01a5dW/7+/rr99tu1YsWKXK+7fv16RUVFydfXV1u3br3xjQOgSPFr9wBKpKefflpvvPGG1q5dq/bt2xdonnnz5mncuHF69dVX1aVLF6Wmpuo///nPTfcwcuRIZWZm6quvvlJAQID279+vsmXLKiwsTCtXrlTv3r118OBBlStXTv7+/pKk559/Xh9//LHmzZununXr6quvvtLf/vY3Va5cWW3atDGXPXHiRP3rX/9S7dq1Vb58+ZvuEUDRIBABKHHWrVunf//73/riiy90zz33FHi+yZMna/z48XriiSfMcXfcccdN93HixAn17t1bkZGRkqTatWub04KCgiRJwcHBZqC5ePGiZsyYoS+//FLR0dHmPNu2bdPbb7/tEIj++c9/qkOHDjfdG4CiRSACUOI0adJEP/30k/7xj3/ojjvuUGBg4HXnSUlJ0enTp9WuXbsi62PMmDF6/PHHtWHDBrVv3169e/dWkyZN8qzfv3+/fv3111xBJzMzU82aNXMYFxUVVWR9Aig8ziECUOJUq1ZNW7ZsUVJSkjp37qwLFy5cd56rh6wKysPjytefYRjmuKysLIeaxx57TD/++KMGDBigxMRERUVFac6cOXkuMycnR5L06aefKiEhwXzs37/f4TwiSQoICLihfgHcWgQiACVSjRo1tGXLFqWkpKhjx45KS0vLtz4wMFC1atXSF198UaDlV65cWZKUlJRkjktISMhVFxYWpuHDh+vjjz/W+PHjFRsbK0ny8fGRJGVnZ5u1jRo1kq+vr06cOKE6deo4PMLCwgrUFwDXIBABKLGqV6+uzZs36+eff1bHjh2Vmpqab31MTIymT5+u2bNn69ChQ/r666/z3KNzNaTExMTohx9+0Keffqrp06c71IwdO1br16/X0aNH9fXXX+vLL79Uw4YNJUk1a9aUzWbT2rVrdfbsWaWnpyswMFATJkzQk08+qYULF+rIkSP6f//v/+mNN97QwoULi2ajALglCEQASrSrh8/Onz+vDh065HsjxIEDB2rmzJl688031bhxY3Xr1k2HDh1yWuvt7a0PP/xQ33//vW6//XZNnTpVkydPdqjJzs7WyJEj1bBhQ3Xu3Fn169fXm2++afY1adIkPf3006pSpYp5ef9LL72kf/zjH5oyZYoaNmyoTp06ac2aNQoPDy+aDQLglrAZ1x5ABwAAsCD2EAEAAMsjEAFwG2XLls3zwd2eARQGh8wAuI3Dhw/nOa1atWo3fOk9AFxFIAIAAJbHITMAAGB5BCIAAGB5BCIAAGB5BCIAAGB5BCIAAGB5BCIAAGB5BCIAAGB5BCIAAGB5/x+QAMVmgGYK6wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#%% Visualizations\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "\n",
    "# AIC for various K and covariance choices\n",
    "g = sns.barplot(x = 'K_cluster', y = 'AIC', hue = 'Cov_type', \n",
    "                data = df_AIC_BIC, palette = 'viridis')\n",
    "plt.title('AIC')\n",
    "plt.axhline(y=df_AIC_BIC['AIC'].min(), color='r', linestyle='--')\n",
    "g.set(ylim=(df_AIC_BIC['AIC'].min()*0.9, None))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "585d7013-059e-490e-88ca-769939c56a1f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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NmzYYHh6ehrHjh0zn9u7d68hydi5c6dhGIYxbdo0o3r16ub8AwcOGJKMvXv3XrWHL774wpBkpKamOj3/xBNPGB06dDCnZ8yYYVSvXt3Izs42DMMwXnjhBcPT09M4fvy4WbNu3TrDw8PDSEpKMgzDMCIiIox3333Xab0vvfSSERsbe9W+iqqgf8Nr/fvNESIAAEqA8cdwVkFHcfbv36+IiAhFRESYz9WpU0flypXT/v37JUkPPfSQfvrpJ3OIbdmyZWrQoIHq1Klz3b3169dPGzZs0C+//CIpZ+irT58+Tr1WrVpVVapUMadjY2OVnZ2tAwcO6NSpUzp+/Lj69u2rsmXLmo+JEyfq8OHD191XSeKkagAASkCNGjVks9m0f/9+3XvvvXnWGIaRZ2C68vnw8HC1atVK7777rpo2bar33ntPAwYMKFJvDRs21G233abFixerXbt22rNnj9asWVPgMpf7sdlsys7OlpQzbNakSROnuuL4JvqSwBEiAABKQHBwsNq1a6c333xT58+fzzX/zJkzqlOnjo4dO6bjx4+bz+/bt08Oh0PR0dHmcz169ND777+vbdu26fDhw3rooYeuqQcfHx9JOd/f9lePP/64FixYoHfeeUdxcXFOR6mknJO9T5w4YU5v27ZNHh4eqlmzpkJDQ3XLLbfoxx9/1K233ur0iIqKuqbeXI1ABABACXnrrbeUlZWlO+64Qx9++KEOHTqk/fv364033lBsbKzi4uJUv3599ejRQ99884127typXr16qUWLFmrcuLG5ni5duigtLU1PPPGEWrVqpVtuueWafn9kZKRsNpvWrl2rU6dO6dy5c+a8Hj166JdfftG8efP02GOP5VrWz89PvXv31rfffquvvvpKw4YNU7du3RQWFiYp50q0yZMn6/XXX9fBgwe1Z88eLViwQNOmTSviq1YyCEQAAJSQqKgoffPNN2rVqpVGjRqlevXqqU2bNvrss880e/Zs2Ww2rVq1SuXLl9edd96puLg4Va9eXe+//77TeoKCgtSpUyd9++236tGjxzX//ltuuUUTJkzQM888o9DQUA0ZMsRpnV27dlXZsmXzHNK79dZb1aVLF919991q27at6tWr53RZ/eOPP67//Oc/WrhwoWJiYtSiRQstXLjQbY4Q2QyjgJsWwJSWlia73S6Hw6GgoCBXtwMAKCYXL17UkSNH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ec7v0KGDHnjgAUVGRurIkSN67rnndNdddykhIUG+vr5KTk6Wj4+Pypcv77RcaGiokpOTJUnJyckKCQnJte6QkBCzJi+TJ0/WhAkTirB1AADAXbgsEB0/flzDhw/Xhg0b5Ofnl2fNgw8+aP5cr149NW7cWJGRkfr444/VpUuXfNdtGIZsNps5feXP+dX81dixYzVy5EhzOi0tTREREQVuEwAAcE8uC0QJCQlKSUlRo0aNzOeysrL05ZdfatasWUpPT5enp6fTMuHh4YqMjNShQ4ckSWFhYcrIyFBqaqrTUaKUlBQ1a9bMrDl58mSu33/q1CmFhobm25+vr698fX2LtI0AAMA9uOwcotatW2vPnj1KTEw0H40bN1aPHj2UmJiYKwxJ0unTp3X8+HGFh4dLkho1aiRvb29t3LjRrElKStJ3331nBqLY2Fg5HA7t3LnTrNmxY4ccDodZAwAArM1lR4gCAwNVr149p+cCAgJUoUIF1atXT+fOndP48ePVtWtXhYeH6+jRoxo3bpwqVqyo++67T5Jkt9vVt29fjRo1ShUqVFBwcLBGjx6tmJgY8yTt6OhotW/fXv369dOcOXMkSf3791fHjh25wgwAAEi6CS67z4+np6f27NmjxYsX68yZMwoPD1erVq30/vvvKzAw0KybPn26vLy81K1bN/PGjAsXLnQ6wrRs2TINGzbMvBqtc+fOmjVrVolvEwAAuDndVIFo06ZN5s/+/v5av379VZfx8/PTzJkzNXPmzHxrgoODtXTp0uJoEQAAlEIuvw8RAACAqxGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA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JUWNGjWSl5eXvLy8tHnzZr3xxhvy8vJSVlaWq1t0WwEBAYqJidGhQ4dc3YrbCQ8Pz/Ufm+joaB07dsxFHRUPjhABfzAMQ0OHDtXKlSu1adMmRUVFubqlUsUwDKWnp7u6DbfSunXrXFdCPfroo6pdu7aefvppeXp6uqgz95eenq79+/frH//4h6tbcTvNmzfPdUuSgwcPKjIy0kUdFQ8CUSlw7tw5/fDDD+b0kSNHlJiYqODgYFWtWtWFnbmXwYMH691339V///tfBQYGKjk5WZJkt9vl7+/v4u7cy7hx49ShQwdFRETo7NmzWr58uTZt2pTrSj4ULDAwMNc5bAEBAapQoQLnthXS6NGj1alTJ1WtWlUpKSmaOHGi0tLS1Lt3b1e35naefPJJNWvWTJMmTVK3bt20c+dOzZ07V3PnznV1a0VjwO198cUXhqRcj969e7u6NbeS12soyViwYIGrW3M7jz32mBEZGWn4+PgYlSpVMlq3bm1s2LDB1W2VCi1atDCGDx/u6jbczoMPPmiEh4cb3t7eRuXKlY0uXboYe/fudXVbbmvNmjVGvXr1DF9fX6N27drG3LlzXd1SkdkMwzBclMUAAABuCpxUDQAALI9ABAAALI9ABAAALI9ABAAALI9ABAAALI9ABAAALI9ABAAALI9ABMAybDabVq1a5eo2ANyECEQAbip9+vTRvffe6/TcBx98ID8/P02dOtU1TeVh06ZNstlsOnPmjKtbAVAMCEQAbmr/+c9/1KNHD82aNUtjxoxxdTvFzjAMXbp0ydVtAJZHIAJw05o6daqGDBmid999V48//vg1LfPOO++obt268vX1VXh4uIYMGZJnXV5HeBITE2Wz2XT06FFJ0k8//aROnTqpfPnyCggIUN26dfXJJ5/o6NGjatWqlSSpfPnystls6tOnj6ScgDN16lRVr15d/v7+uu222/TBBx/k+r3r169X48aN5evrq6+++qrwLw6AYsW33QO4KT3zzDN68803tXbtWsXFxV3TMrNnz9bIkSP1yiuvqEOHDnI4HPr666+vu4fBgwcrIyNDX375pQICArRv3z6VLVtWERER+vDDD9W1a1cdOHBAQUFB8vf3lyT961//0kcffaTZs2erRo0a+vLLL/XII4+oUqVKatGihbnuMWPG6N///reqV6+ucuXKXXePAIoHgQjATWfdunX673//q88++0x33XXXNS83ceJEjRo1SsOHDzefu/3226+7j2PHjqlr166KiYmRJFWvXt2cFxwcLEkKCQkxA8358+c1bdo0ff7554qNjTWX2bJli+bMmeMUiF588UW1adPmunsDULwIRABuOvXr19evv/6q559/XrfffrsCAwOvukxKSopOnDih1q1bF1sfw4YN0xNPPKENGzYoLi5OXbt2Vf369fOt37dvny5evJgr6GRkZKhhw4ZOzzVu3LjY+gRQdJxDBOCmc8stt2jz5s1KSkpS+/btdfbs2asuc3nI6lp5eOR8/BmGYT6XmZnpVPP444/rxx9/VM+ePbVnzx41btxYM2fOzHed2dnZkqSPP/5YiYmJ5mPfvn1O5xFJUkBAQKH6BXBjEYgA3JSqVq2qzZs3KyUlRW3btlVaWlqB9YGBgapWrZo+++yza1p/pUqVJElJSUnmc4mJibnqIiIiNHDgQH300UcaNWqU5s2bJ0ny8fGRJGVlZZm1derUka+vr44dO6Zbb73V6REREXFNfQFwDQIRgJtWlSpVtGnTJp0+fVpt27aVw+EosH78+PF67bXX9MYbb+jQoUP65ptv8j2iczmkjB8/XgcPHtTHH3+s1157zalmxIgRWr9+vY4cOaJvvvlGn3/+uaKjoyVJkZGRstlsWrt2rU6dOqVz584pMDBQo0eP1pNPPqlFixbp8OHD+n//7//pzTff1KJFi4rnRQFwQxCIANzULg+fnTlzRm3atCnwRoi9e/fWjBkz9NZbb6lu3brq2LGjDh06lGett7e33nvvPX3//fe67bbbNGXKFE2cONGpJisrS4MHD1Z0dLTat2+vWrVq6a233jL7mjBhgp555hmFhoaal/e/9NJLev755zV58mRFR0erXbt2WrNmjaKioornBQFwQ9iMKwfQAQAALIgjRAAAwPIIRADcRtmyZfN9cLdnAEXBkBkAt/HDDz/kO++WW24p9KX3AHAZgQgAAFgeQ2YAAMDyCEQAAMDyCEQAAMDyCEQAAMDyCEQAAMDyCEQAAMDyCEQAAMDyCEQAAMDy/n/GJhNhaRERdgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "\n",
    "# BIC for various K and covariance choices\n",
    "g = sns.barplot(x = 'K_cluster', y = 'BIC', hue = 'Cov_type', \n",
    "                data = df_AIC_BIC, palette = 'viridis')\n",
    "plt.title('BIC')\n",
    "plt.axhline(y=df_AIC_BIC['BIC'].min(), color='r', linestyle='--')\n",
    "g.set(ylim=(df_AIC_BIC['BIC'].min()*0.9, None))\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
